package gui;

import modelcontroller.User;

/**
 *
 * @author Mariam
 */
public interface FromUser {

    /**
     * Signal from the user that he wants to connect to the Chat System
     *
     * @param username the login entered by the local user
     */
    void connect(String username);

    /**
     * Signal from the user that he wants to disconnect
     */
    void disconnect();

    /**
     * Signal from the user that he wants to start a dialog with the selected
     * user
     *
     * @param remoteUser the user selected in the list of the connected peers
     */
    void selectUser(User remoteUser);

    /**
     * Signal from the user that he wants to send a file to a peer user
     *
     * @param filename the name of the file
     * @param filepath the location of the file
     * @param size the size of the file
     */
    void sendFile(String username, String filename, String filepath, long size);

    /**
     * Signal from the user that he wants to send a message to a peer user
     *
     * @param username the login of the receiver (remote user)
     * @param message the text that has been typed by the local user
     */
    void sendMessage(String username, String message);
    
}
